package com.lkhd.ticket.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.lkhd.manage.pojo.Attributename;
import com.lkhd.manage.pojo.Attributevalue;
import com.lkhd.manage.pojo.Ticket;
import com.lkhd.manage.pojo.User;
import com.lkhd.manage.pojo.Usercomment;
import com.lkhd.manage.povo.TicketVo;

/**
 * 门票服务
 * @author 肖鹏
 * 2018-9-15 16:10:12
 */
@Service
public interface TicketService {
	
	/**
	 * 购买门票(创建)并且提交活动所需信息
	 * @param ticket 门票实体
	 * @param attributeValues 活动所需信息集合
	 * @return int 0失败 1成功
	 */
	public int buyTicket(Ticket ticket,List<Attributevalue> attributeValues);

	/**
	 * 支付门票
	 * @param ticketId 门票id
	 * @param user 当前登录用户
	 * @return 0失败 1成功
	 */
	public int pay(Long ticketId,User user);
	
	/**
	 * 查看电子票信息
	 * @param ticketId 门票id
	 * @param user 当前登录用户
	 * @return 门票Vo对象(活动名,活动时间,活动地点,门票基本信息,票种)
	 */
	public TicketVo checkTicket(Long ticketId,User user);
	
	/**
	 * 评论活动
	 * @param ticketId 门票id
	 * @param usercomment 评论实体
	 * @return 0失败 1成功
	 */
	public int commentActivity(Long ticketId,Usercomment usercomment);
	
	/**
	 * 删除门票购买记录(只能删除已过期,和为支付的门票)
	 * @param ticketId 门票id
	 * @param user 当前登录用户
	 * @return true成功 false失败
	 */
	public boolean delTicket(Long ticketId,User user);
	
	/**
	 * 根据门票id和用户对象判断是不是自己的订单
	 * @param ticketId 门票id
	 * @param user 当前登录用户
	 * @return 门票实体
	 */
	public Ticket myTicket(Long ticketId,User user);
}
